package com.eshop.modules.activity.service;

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.eshop.modules.activity.service.dto.StorePinkDto;
import java.util.Map;
import org.springframework.data.domain.Pageable;
import com.eshop.modules.activity.service.dto.StorePinkQueryCriteria;
import com.eshop.modules.activity.service.dto.PinkAllDto;
import java.util.List;
import com.eshop.modules.order.vo.StoreOrderQueryVo;
import com.eshop.modules.activity.vo.PinkInfoVo;
import com.eshop.modules.activity.domain.StorePink;
import com.eshop.common.service.BaseService;

public interface StorePinkService extends BaseService<StorePink>
{
    void removePink(final Long uid, final Long cid, final Long pinkId);
    
    int surplusPeople(final StorePink pink);
    
    PinkInfoVo pinkInfo(final Long id, final Long uid);
    
    int pinkIngCount(final Long id);
    
    void createPink(final StoreOrderQueryVo order);
    
    boolean getIsPinkUid(final Long id, final Long uid);
    
    int getPinkOkSumTotalNum();
    
    List<String> getPinkOkList(final Long uid);
    
    PinkAllDto getPinkAll(final Long cid);
    
    Map<String, Object> queryAll(final StorePinkQueryCriteria criteria, final Pageable pageable);
    
    List<StorePink> queryAll(final StorePinkQueryCriteria criteria);
    
    void download(final List<StorePinkDto> all, final HttpServletResponse response) throws IOException;
}
